[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Intr                     Calls System Software Interrupt

 Intr(IntNum : Integer; var Parm : Registers);                           [TP]

    Calls the system software interrupt routine IntNum. Parms is a
    variable of type Registers (defined below).

          IntNum    ID number of software interrupt

            Parm    Special record of type Registers

          Notes:    Registers is a specific record data type that you must
                    define in your program. It takes the following format:

                      type
                        Registers = record
                          case Boolean of
                            False:(AX,BX,CX,DX,BP,DI,SI,DS,ES,Flags:Integer);
                            True :(AL,AH,BL,BH,CL,CH,DL,DH         :Integer)
                        end;

                    You can then access a specific register, say BP, with
                    the expression Parm.BP. The appropriate registers
                    should be initialized before you call the Interrupt.
                    After the Interrupt is completed, the Registers record
                    will have the correct values in its fields.

  -------------------------------- Example ---------------------------------

           procedure DoSomeIntr();

           type
             Registers = record
               ...
             end;

           var
             Regs         : Registers;
             CharsPerLine : Byte;

           begin
             with Regs do begin
               ...
             AL := $0F;             { Get current video state }
               Intr($10, Regs);     { Call interrupt 10h - Video Interrupt }
             CharsPerLine := AH;    { Save number of characters per line }
               ...
             end
           end;                     { of proc DoSomeIntr }

See Also: MSDos
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson